const path = require('path')
// 拼接路径
function resolve(dir) {
  return path.join(__dirname, dir)
}
module.exports = {
  /* 部署生产环境和开发环境下的URL：可对当前环境进行区分，baseUrl 从 Vue CLI 3.3 起已弃用，要使用publicPath */
  publicPath: process.env.NODE_ENV === 'production' ? '' : './',
  /* 输出文件目录：在npm run build时，生成文件的目录名称 */
  outputDir: process.env.NODE_ENV === 'production' ? 'dist' : 'devdist',
  /* 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录 */
  assetsDir: "assets",
  /* 是否在构建生产包时生成 sourceMap 文件，false将提高构建速度 */
  productionSourceMap: false,
  /* 默认情况下，生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存，你可以通过将这个选项设为 false 来关闭文件名哈希。(false的时候就是让原来的文件名不改变) */
  filenameHashing: false,
  /* 代码保存时进行eslint检测 */
  lintOnSave: true,
  
  chainWebpack: (config)=>{
    //修改文件引入自定义路径
    config.resolve.alias
        .set('@', resolve('src'))
        .set('@assets', resolve('src/assets'))
},
  css: {
    loaderOptions: {
    
    }, 
  },
  pwa: {},
  /* webpack-dev-server 相关配置 */
  devServer: {
    /* 自动打开浏览器 */
    open: false,
    /* 设置为0.0.0.0则所有的地址均能访问 */
    host: '0.0.0.0',
    port: 9090,
    https: false, // 编译失败时刷新页面
    hot: true, // 开启热加载
    hotOnly: false,
    /* 使用代理 */
 proxy: {
      "^/devApi": {
        target: process.env.VUE_APP_SSO, //API服务器的地址
        ws: true, //开启WebSocket
        secure: false, // 如果是https接口，需要配置这个参数
        changeOrigin: true,
      }
    }  
  },
  /**
 * 第三方插件配置
 */
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'less',
      patterns: [path.resolve(__dirname, 'src/assets/styles/main.less')]
    }
  }
}
